create table AGGREGATE.CART_SALES
(
  SHOP_ID     int            not null,
  SHOP      Varchar(1000)    not null,
  GAIN       float           not null,
  COGS       float           not null,
  MARGIN     float           not null,
  [#RECEIPT]  int            not null,
  --ClosingYear int            not null,
  FlagOpen    bit    not null

)
INSERT INTO AGGREGATE.CART_SALES
select          L2_STAR_SCHEMA.DIM_SHOP_SS._NEGOZIO_ID_             as SHOP_ID,
                L2_STAR_SCHEMA.DIM_SHOP_SS._NEGOZIO_DESC_             as SHOP,
                SUM(_FATTURATO_NI_SC_)                                as GAIN,
                SUM(_COSTO_VENDUTO_NI_SC_)                            as COGS,
                (SUM(_FATTURATO_NI_SC_) - SUM(_COSTO_VENDUTO_NI_SC_)) as MARGIN,
                count(distinct _NUMERO_SCONTRINO_)                    as #RECEIPT,
               -- max (L2_STAR_SCHEMA.DIM_DATE_SS.Year)                 as ClosingYear,
         case
         when  max (L2_STAR_SCHEMA.DIM_DATE_SS.Year) =2017 then '0'
         else  '1' end
         as FlagOpen
from
     L2_STAR_SCHEMA.FACT_SALES_SS, L2_STAR_SCHEMA.DIM_DATE_SS,L2_STAR_SCHEMA.DIM_SHOP_SS
Where
     L2_STAR_SCHEMA.FACT_SALES_SS._GIORNO_ = L2_STAR_SCHEMA.DIM_DATE_SS.Date
     and L2_STAR_SCHEMA.DIM_SHOP_SS._NEGOZIO_ID_ = L2_STAR_SCHEMA.FACT_SALES_SS._NEGOZIO_ID_
     and DIM_DATE_SS.Year<2019
Group by
     L2_STAR_SCHEMA.DIM_SHOP_SS._NEGOZIO_DESC_,
     L2_STAR_SCHEMA.DIM_SHOP_SS._NEGOZIO_ID_,
     L2_STAR_SCHEMA.DIM_DATE_SS.Year;


-----------------------------------------------------------------------
create table AGGREGATE.CART_SHOP_SALES_1718
(
  SHOP_ID     int            not null,
  SHOP      Varchar(1000)    not null,
  MARGIN     float           not null,
  [#RECEIPT]  int            not null,
  SALES       float           not null,
  COGS       float           not null,
  --ClosingYear int            not null,
  FlagOpen    Varchar(1000)    not null

)
INSERT INTO AGGREGATE.CART_SHOP_SALES_1718
select          L2_STAR_SCHEMA.DIM_SHOP_SS._NEGOZIO_ID_               as SHOP_ID,
                L2_STAR_SCHEMA.DIM_SHOP_SS._NEGOZIO_DESC_             as SHOP,
                SUM(_FATTURATO_NI_SC_)                                as SALES,
                SUM(_COSTO_VENDUTO_NI_SC_)                            as COGS,
                (SUM(_FATTURATO_NI_SC_) - SUM(_COSTO_VENDUTO_NI_SC_)) as MARGIN,
                count(distinct _NUMERO_SCONTRINO_)                    as #RECEIPT,
               -- max (L2_STAR_SCHEMA.DIM_DATE_SS.Year)                 as ClosingYear,
         case when  max( L2_STAR_SCHEMA.DIM_DATE_SS.Year) =2018 then 'Open'
         else  'Close' end
         as FlagOpen
from
     L2_STAR_SCHEMA.FACT_SALES_SS, L2_STAR_SCHEMA.DIM_DATE_SS,L2_STAR_SCHEMA.DIM_SHOP_SS
Where
     L2_STAR_SCHEMA.FACT_SALES_SS._GIORNO_ = L2_STAR_SCHEMA.DIM_DATE_SS.Date
     and L2_STAR_SCHEMA.DIM_SHOP_SS._NEGOZIO_ID_ = L2_STAR_SCHEMA.FACT_SALES_SS._NEGOZIO_ID_
and L2_STAR_SCHEMA.DIM_DATE_SS.Year in (2017 , 2018)
Group by
     L2_STAR_SCHEMA.DIM_SHOP_SS._NEGOZIO_DESC_,
     L2_STAR_SCHEMA.DIM_SHOP_SS._NEGOZIO_ID_,
     L2_STAR_SCHEMA.DIM_DATE_SS.Year;



----------------------------------------------------------------------------------
create table AGGREGATE.CART_SHOP_SALES_1819
(
  SHOP_ID     int            not null,
  SHOP      Varchar(1000)    not null,
  MARGIN     float           not null,
  [#RECEIPT]  int            not null,
  SALES       float           not null,
  COGS       float           not null,
  --ClosingYear int            not null,
  FlagOpen    Varchar(1000)    not null

)
INSERT INTO AGGREGATE.CART_SHOP_SALES_1819
select          L2_STAR_SCHEMA.DIM_SHOP_SS._NEGOZIO_ID_               as SHOP_ID,
                L2_STAR_SCHEMA.DIM_SHOP_SS._NEGOZIO_DESC_             as SHOP,
                SUM(_FATTURATO_NI_SC_)                                as SALES,
                SUM(_COSTO_VENDUTO_NI_SC_)                            as COGS,
                (SUM(_FATTURATO_NI_SC_) - SUM(_COSTO_VENDUTO_NI_SC_)) as MARGIN,
                count(distinct _NUMERO_SCONTRINO_)                    as #RECEIPT,
               -- max (L2_STAR_SCHEMA.DIM_DATE_SS.Year)                 as ClosingYear,
         case when  max( L2_STAR_SCHEMA.DIM_DATE_SS.Year) =2019 then 'Open'
         else  'Close' end
         as FlagOpen
from
     L2_STAR_SCHEMA.FACT_SALES_SS, L2_STAR_SCHEMA.DIM_DATE_SS,L2_STAR_SCHEMA.DIM_SHOP_SS
Where
     L2_STAR_SCHEMA.FACT_SALES_SS._GIORNO_ = L2_STAR_SCHEMA.DIM_DATE_SS.Date
     and L2_STAR_SCHEMA.DIM_SHOP_SS._NEGOZIO_ID_ = L2_STAR_SCHEMA.FACT_SALES_SS._NEGOZIO_ID_
     and L2_STAR_SCHEMA.DIM_DATE_SS.Year in (2018 , 2019)
Group by
     L2_STAR_SCHEMA.DIM_SHOP_SS._NEGOZIO_DESC_,
     L2_STAR_SCHEMA.DIM_SHOP_SS._NEGOZIO_ID_,
     L2_STAR_SCHEMA.DIM_DATE_SS.Year;



---------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------
----------------------------------------------CART-------------------------------------------------------
---------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------
create table AGGREGATE.CART_TYPE_SHOP_SALES_1718
(
  SHOP_ID    int           not null,
  SHOP       Varchar(1000) not null,
  GAIN      float          not null,
  COGS       float         not null,
  MARGIN     float         not null,
  nRECEIPT int           not null,
  --ClosingYear  int            not null,
  --SHOP_CHANNEL Varchar(1000) not null,
  FlagOpen   Varchar(1000) not null

)
INSERT INTO AGGREGATE.CART_TYPE_SHOP_SALES_1718
select Distinct L2_STAR_SCHEMA.DIM_SHOP_SS._NEGOZIO_ID_               as SHOP_ID,
                L2_STAR_SCHEMA.DIM_SHOP_SS._NEGOZIO_DESC_             as SHOP,
                SUM(_FATTURATO_NI_SC_)                                as GAIN,
                SUM(_COSTO_VENDUTO_NI_SC_)                            as COGS,
                (SUM(_FATTURATO_NI_SC_) - SUM(_COSTO_VENDUTO_NI_SC_)) as MARGIN,
                count(distinct _NUMERO_SCONTRINO_)                    as nRECEIPT,
                --L2_STAR_SCHEMA.DIM_SHOP_SS._CANALE_DESC_              as SHOP_CHANNEL,
                --max (L2_STAR_SCHEMA.DIM_DATE_SS.Year)                 as ClosingYear,
               case
                  when max(L2_STAR_SCHEMA.DIM_DATE_SS.Year) = 2017 then 'Close'
                  else 'OPEN' end                                     as FlagOpen
from L2_STAR_SCHEMA.FACT_SALES_SS,
     L2_STAR_SCHEMA.DIM_DATE_SS,
     L2_STAR_SCHEMA.DIM_SHOP_SS
Where L2_STAR_SCHEMA.FACT_SALES_SS._GIORNO_ = L2_STAR_SCHEMA.DIM_DATE_SS.Date
  and L2_STAR_SCHEMA.DIM_SHOP_SS._NEGOZIO_ID_ = L2_STAR_SCHEMA.FACT_SALES_SS._NEGOZIO_ID_
  and L2_STAR_SCHEMA.DIM_DATE_SS.Year in (2017, 2018)
--  and L2_STAR_SCHEMA.DIM_DATE_SS.DayOfYear < 91
  and L2_STAR_SCHEMA.DIM_SHOP_SS._CANALE_DESC_ in ('"01 - Property Full Price"', '"02 - Property Outlet"', '"09 - Ecommerce"')
Group by L2_STAR_SCHEMA.DIM_SHOP_SS._NEGOZIO_DESC_,
         L2_STAR_SCHEMA.DIM_SHOP_SS._NEGOZIO_ID_,
         L2_STAR_SCHEMA.DIM_SHOP_SS._CANALE_DESC_,
         Year;


---------------------------------------------------------------

create table AGGREGATE.CART_TYPE_SHOP_SALES_1819
(
  SHOP_ID    int           not null,
  SHOP       Varchar(1000) not null,
  GAIN      float         not null,
  COGS       float         not null,
  MARGIN     float         not null,
  nRECEIPT int           not null,
  --ClosingYear  int            not null,
  --SHOP_CHANNEL Varchar(1000) not null,
  FlagOpen   Varchar(1000) not null

)
INSERT INTO AGGREGATE.CART_TYPE_SHOP_SALES_1819
select Distinct L2_STAR_SCHEMA.DIM_SHOP_SS._NEGOZIO_ID_               as SHOP_ID,
                L2_STAR_SCHEMA.DIM_SHOP_SS._NEGOZIO_DESC_             as SHOP,
                SUM(_FATTURATO_NI_SC_)                                as GAIN,
                SUM(_COSTO_VENDUTO_NI_SC_)                            as COGS,
                (SUM(_FATTURATO_NI_SC_) - SUM(_COSTO_VENDUTO_NI_SC_)) as MARGIN,
                count(distinct _NUMERO_SCONTRINO_)                    as nRECEIPT,
                --L2_STAR_SCHEMA.DIM_SHOP_SS._CANALE_DESC_              as SHOP_CHANNEL,
                --max (L2_STAR_SCHEMA.DIM_DATE_SS.Year)                 as ClosingYear,
                case
                  when max(L2_STAR_SCHEMA.DIM_DATE_SS.Year) = 2018 then 'Close'
                  else 'OPEN' end                                     as FlagOpen
from L2_STAR_SCHEMA.FACT_SALES_SS,
     L2_STAR_SCHEMA.DIM_DATE_SS,
     L2_STAR_SCHEMA.DIM_SHOP_SS
Where L2_STAR_SCHEMA.FACT_SALES_SS._GIORNO_ = L2_STAR_SCHEMA.DIM_DATE_SS.Date
  and L2_STAR_SCHEMA.DIM_SHOP_SS._NEGOZIO_ID_ = L2_STAR_SCHEMA.FACT_SALES_SS._NEGOZIO_ID_
  and L2_STAR_SCHEMA.DIM_DATE_SS.Year in (2018,2019)
  and L2_STAR_SCHEMA.DIM_SHOP_SS._CANALE_DESC_ in ('"01 - Property Full Price"', '"02 - Property Outlet"', '"09 - Ecommerce"')
  --and L2_STAR_SCHEMA.DIM_DATE_SS.DayOfYear < 91 --first Quarter end date
Group by L2_STAR_SCHEMA.DIM_SHOP_SS._NEGOZIO_DESC_,
         L2_STAR_SCHEMA.DIM_SHOP_SS._NEGOZIO_ID_,
         L2_STAR_SCHEMA.DIM_SHOP_SS._CANALE_DESC_,Year;



-------------------------------------------------------
------------------------TRUNCATE-----------------------
-------------------------------------------------------


  truncate table AGGREGATE.CART_TYPE_SHOP_SALES_1718;
  truncate table AGGREGATE.CART_TYPE_SHOP_SALES_1819;


		
		
		
		
		

		 
		 
		 
		 